#include <iostream>
using namespace std;

int main()
{
    int a = 3;
    /*
        指针的定义方式:
        type * your_pointer_name;
    */
    int *p; // 定义了一个指向int类型变量的指针

    /*
        赋值操作 pointer = addr;
    */
    p = 0;

    /*
        & 取址符: &+变量名可以得到变量的地址
        赋值操作 pointer = &var_name;
    */
    p = &a; // p现在存储了a的地址

    /*
        通过指针操作(原变量a的)内存空间
        * 解引用符: *pointer 就相当于原变量
    */
    cout << "original a: " << a << endl;
    *p = 114514; // 改变了a中的值
    cout << "edited by pointer p: " << a << endl;
    return 0;
}